package packageServer;


public class Vegetazione extends Cella{

	private /*@ spec_public @*/ int energia;
	private  /*@ spec_public @*/ int energia_max;
	
	//@invariant energia_max<=450 && energia_max<=150;
	//@ensures energia_max>=150;
	//@also
	//@ensures energia_max<=450;
	//@ensures energia==energia_max/10;	
	public Vegetazione(){
		super("v");

		energia_max=150+((int)(Math.random() * 300));
		energia=energia_max/10;
	}

	/**
	 * Incrementa l'energia della vegetazione selezionata a seguito di un avanzamento del turno
	 * del mondo. Se l'energia e' massima non verra' incrementa.
	 */
	//@ensures (energia==\old(energia)+energia_max/10)||(energia==energia_max);
	public void incrementaEnergia(){
		if((energia+energia_max/10)>energia_max)
			energia=energia_max;
		else
			energia+=energia_max/10;
	}
	
	
	
	
	public int getEnergia() {
		return energia;
	}

	
	
	public void setEnergia(int energia) {
		this.energia = energia;
	}

	
	
	public int getEnergia_max() {
		return energia_max;
	}

	
	
	public void setEnergia_max(int energia_max) {
		this.energia_max = energia_max;
	}
	
	
	
	
	
}
